package cn.com.hatech.cdkey.module.generate.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.util.Date;
import java.util.List;

/**
 * @author xuruikai
 */
@Data
@TableName(value = "cd_key")
@Builder
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class CdKey {
    /**
     * 必须：ID唯一标识 @GeneratedValue 动态生成UUID策略
     */
    @TableId(type = IdType.UUID)
    @TableField("id")
    private String id;
    /**
     * 租户账号
     */
    @TableField("username")
    private String username;
    /**
     * 租户账号集合
     */
    @TableField(exist = false)
    private List<String> usernames;
    /**
     * 租户用户数
     */
    @TableField("user_count")
    private String userCount;
    /**
     * 业务提交次数
     */
    @TableField("business_count")
    private String businessCount;
    /**
     * 资产提交次数
     */
    @TableField("assets_count")
    private String assetsCount;
    /**
     * 用户使用天数
     */
    @TableField("days_used")
    private String daysUsed;
    /**
     * 混淆编码
     */
    @TableField("confusion")
    private String confusion;
    /**
     * 菜单编码
     */
    @TableField(exist = false)
    private List<String> menuCodes;
    /**
     * 菜单编码
     */
    @TableField("menu_code")
    private String menuCode;
    /**
     * 产生的动作
     */
    @TableField(exist = false)
    private String description;
    /**
     * 0 是 1否
     * 是否使用大屏
     */
    @TableField("use_screen")
    private Integer useScreen;

    @TableField("license_code")
    private String licenseCode;

    @TableField("create_time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @TableField(exist = false)
    private Integer newAdd;
}
